/**
 * 第2章 Java语言的动态性
 * 2.4 动态语言支持
 * 代码清单 p1ch02c-01：MethodType#methodType的使用示例 {@link top.kaoshanji.p1ch02c.MethodTypeExample01}
 * 代码清单 p1ch02c-02：MethodType#genericMethodType的使用示例 {@link top.kaoshanji.p1ch02c.MethodTypeExample02}
 * 代码清单 p1ch02c-03：MethodType#fromMethodDescriptorString的使用示例 {@link top.kaoshanji.p1ch02c.MethodTypeExample03#fromMethodDescriptorString}
 * 代码清单 p1ch02c-04：对MethodType中的返回值和参数类型进行修改的示例 {@link top.kaoshanji.p1ch02c.MethodTypeExample04}
 * 代码清单 p1ch02c-05：一次性修改MethodType中的返回值和所有参数的类型的使用示例 {@link top.kaoshanji.p1ch02c.MethodTypeExample05}
 * 代码清单 p1ch02c-06：MethodHandle#invokeExact的使用示例 {@link top.kaoshanji.p1ch02c.MethodHandleExample01}
 * 代码清单 p1ch02c-07：MethodHandle#asVarargsCollector的使用示例 {@link top.kaoshanji.p1ch02c.MethodHandleExample02#asVarargsCollector()}
 * 代码清单 p1ch02c-08：MethodHandle#asCollector的使用示例 {@link top.kaoshanji.p1ch02c.MethodHandleExample02#asCollector()}
 * 代码清单 p1ch02c-09：MethodHandle#asSpreader的使用示例 {@link top.kaoshanji.p1ch02c.MethodHandleExample03#asSpreader()}
 * 代码清单 p1ch02c-10：MethodHandle#asFixedArity的使用示例 {@link top.kaoshanji.p1ch02c.MethodHandleExample04#asFixedArity()}
 * 代码清单 p1ch02c-11：MethodHandle的参数绑定的基本用法 {@link top.kaoshanji.p1ch02c.MethodHandleExample05}
 * 代码清单 p1ch02c-12：MethodHandle的多次参数绑定的示例 {@link top.kaoshanji.p1ch02c.MethodHandleExample06}
 * 代码清单 p1ch02c-13：MethodHandle的基本类型参数的绑定方式示例 {@link top.kaoshanji.p1ch02c.MethodHandleExample07}
 * 代码清单 p1ch02c-14：MethodHandles.Lookup的基本使用示例 {@link top.kaoshanji.p1ch02c.MethodHandlesLookupExample01}
 * 代码清单 p1ch02c-15：MethodHandles.Lookup#findSpecial方法使用示例 {@link top.kaoshanji.p1ch02c.MethodHandlesLookupExample02#lookupSpecial()}
 * 代码清单 p1ch02c-16：MethodHandles.Lookup的查找字段使用示例 {@link top.kaoshanji.p1ch02c.MethodHandlesLookupExample03}
 * 代码清单 p1ch02c-17：MethodHandles.Lookup#unreflect的使用示例(反射API与方法句柄的交互) {@link top.kaoshanji.p1ch02c.MethodHandlesLookupExample04}
 * author kaoshanji
 * ^_^
 * create time 2025/1/2 16:19
 */
package top.kaoshanji.p1ch02c;